package com.qj.platform.pay.mssm.domain;

import com.qj.platform.pay.mssm.utils.MsJaxbDateAdapter;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Name;
import org.nutz.dao.entity.annotation.Table;

import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.Date;

/**
 * Created by zhijie on 2016/12/20.
 */
@Table("ms_notify")
public class MSNotify {
    @Name
    @Column
    private String id;
    @Column("buyer_id")
    private String buyerId;
    @Column("buyer_account")
    private String buyerAccount;
    @Column("total_amount")
    private double totalAmount;
    @Column("buyer_pay_amount")
    private double buyerPayAmount;
    @Column("point_amount")
    private double pointAmount;
    @Column("pay_time")
    private Date payTime;
    @Column("settle_time")
    private Date settleTime;
    //0正常清算-1发生撤销，渠道不产生退款
    @Column("is_clear_or_cancel")
    private String isClearOrCancel;
    /*支付渠道流水*/
    @Column("channel_no")
    private String channelNo;
    @Column("req_msg_id")
    private String reqMsgId;
    //借贷记标识1-借,2-贷，3-其他
    @Column("pay_type")
    private String payType;
    @Column("handled")
    private String handled;
    @Column
    private String extend1;
    @Column
    private String extend2;
    @Column
    private String extend3;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    public String getBuyerAccount() {
        return buyerAccount;
    }

    public void setBuyerAccount(String buyerAccount) {
        this.buyerAccount = buyerAccount;
    }

    public double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public double getBuyerPayAmount() {
        return buyerPayAmount;
    }

    public void setBuyerPayAmount(double buyerPayAmount) {
        this.buyerPayAmount = buyerPayAmount;
    }

    public double getPointAmount() {
        return pointAmount;
    }

    public void setPointAmount(double pointAmount) {
        this.pointAmount = pointAmount;
    }

    @XmlJavaTypeAdapter(MsJaxbDateAdapter.class)
    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    @XmlJavaTypeAdapter(MsJaxbDateAdapter.class)
    public Date getSettleTime() {
        return settleTime;
    }

    public void setSettleTime(Date settleTime) {
        this.settleTime = settleTime;
    }

    public String getIsClearOrCancel() {
        return isClearOrCancel;
    }

    public void setIsClearOrCancel(String isClearOrCancel) {
        this.isClearOrCancel = isClearOrCancel;
    }

    public String getChannelNo() {
        return channelNo;
    }

    public void setChannelNo(String channelNo) {
        this.channelNo = channelNo;
    }

    public String getReqMsgId() {
        return reqMsgId;
    }

    public void setReqMsgId(String reqMsgId) {
        this.reqMsgId = reqMsgId;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getExtend1() {
        return extend1;
    }

    public void setExtend1(String extend1) {
        this.extend1 = extend1;
    }

    public String getExtend2() {
        return extend2;
    }

    public void setExtend2(String extend2) {
        this.extend2 = extend2;
    }

    public String getExtend3() {
        return extend3;
    }

    public void setExtend3(String extend3) {
        this.extend3 = extend3;
    }

    public String getHandled() {
        return handled;
    }

    public void setHandled(String handled) {
        this.handled = handled;
    }

    public enum ClearOrCancel{
        /*清算、撤销*/
        CLEAR("0"),CANCEL("1");
        private String code;

        ClearOrCancel(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }
}
